/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controlador.Service.RRHH;

import Controlador.Bean.RRHH.Personal;
import Controlador.Bean.Seguridad.PerfilxUsuario;
import Controlador.Bean.Seguridad.Usuario;
import Data.config.SessionFac;
import org.apache.ibatis.session.SqlSession;

/**
 *
 * @author david
 */
public class ServicioUsuario {
    private Object personal;

    public void guardar(Usuario usuario) {
        SqlSession sqlsession = SessionFac.SessionFactory().openSession();
        usuario.setIdUsuario(obtenerIdSiguiente(usuario.getIdUsuario(), sqlsession));
        sqlsession.insert("Data.Seguridad.ServicioLogin.guardar", usuario);
        sqlsession.commit();
        sqlsession.close();
    }
    
    public void guardarPerfilxUsuario(PerfilxUsuario pxu) {
        SqlSession sqlsession = SessionFac.SessionFactory().openSession();
        sqlsession.insert("Data.Seguridad.ServicioLogin.guardarPerfilxUsuario", pxu);
        sqlsession.commit();
        sqlsession.close();
    }
    
    
     public void actualizarUsuario(Usuario usuario){
        SqlSession sqlsession = SessionFac.SessionFactory().openSession();
            sqlsession.update("Data.Seguridad.ServicioLogin.actualizarUsuario", usuario);
            sqlsession.commit();
        }
    
      public void  actualizarPerfil(PerfilxUsuario perfil){
        SqlSession sqlsession = SessionFac.SessionFactory().openSession();
            sqlsession.update("Data.Seguridad.ServicioLogin.actualizarPerfil", perfil);
            sqlsession.commit();
        }
    

    public String obtenerIdSiguiente(String IdUsuario, SqlSession sqlsession) {

        String id = (String) sqlsession.selectOne("Data.Seguridad.ServicioLogin.getNextCodigo");

        if (id != null) {
            int cod = Integer.parseInt(id.substring(3)) + 1;

            String defecto = "000000";
            String temp = defecto.substring(0, defecto.length() - String.valueOf(cod).length()).concat(String.valueOf(cod));

            id = (id.substring(0, 3).concat(temp));
        } else {
            id = "USU000001"; 

        }

        return id;
    }
}
